home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / network / info-sys / www / tkhtml-2.3 / tkhtml-2 / tkHTML-2.3 / tix / DlgBtns.tcl < prev    next >
Encoding:
Text File  |  1995-02-12  |  2.9 KB  |  132 lines

  1. proc tixDlgButtons {w args} {
  2.     eval tixInt_CreateWidget $w tixDlb TixDlgBtns $args
  3.     return $w
  4. }
  5.  
  6. proc tixDlgBtns {w args} {
  7.     eval tixInt_CreateWidget $w tixDlb TixDlgBtns $args
  8.     return $w
  9. }
  10.  
  11. proc tixDlb::CreateClassRec {} {
  12.     global tixDlb
  13.  
  14.     # OPTIONS
  15.     set tixDlb(rootOptions)   {}
  16.     set tixDlb(options)       {-anchor -background -bg -font -state 
  17.                                -foreground -fg -buttonbg}
  18.  
  19.     # DEFAULT VALUES
  20.     set tixDlb(-anchor)       {-anchor anchor Anchor center}
  21.     set tixDlb(-background)   {-background background Background #ffe4c4}
  22.     set tixDlb(-buttonbg)     {-buttonbg buttonBg Background #ffe4c4}
  23.     set tixDlb(-foreground)   {-foreground foreground Foreground black}
  24.     set tixDlb(-font)         {-font font Font \
  25.                          "-*-helvetica-medium-r-normal-*-14-*-*-*-*-*-*-*"}
  26.     set tixDlb(-state)        {-state state State normal}
  27.  
  28.     # ALIASES
  29.     set tixDlb(-bg)           {= -background}
  30.     set tixDlb(-fg)           {= -foreground}
  31.     # METHODS
  32.     set tixDlb(methods)       {add invoke button}
  33. }
  34.  
  35. proc tixDlb::ConstructWidget {w} {
  36.     # At the beginning we have no contents
  37. }
  38.  
  39. proc tixDlb::InitWidgetRec {w class className args} {
  40.     upvar #0 $w data
  41.  
  42.     set data(items)   {}
  43. }
  44.  
  45. #----------------------------------------------------------------------
  46. #                           CONFIG OPTIONS
  47. #----------------------------------------------------------------------
  48. proc tixDlb::config-anchor {w arg} {
  49.     upvar #0 $w data
  50.  
  51.     foreach item $data(items) {
  52.     $w.$item config -anchor $arg
  53.     }
  54. }
  55.  
  56. proc tixDlb::config-background {w arg} {
  57.     upvar #0 $w data
  58.  
  59.     $data(rootCmd) config -bg $arg
  60. }
  61.  
  62. proc tixDlb::config-buttonbg {w arg} {
  63.     upvar #0 $w data
  64.  
  65.     foreach item $data(items) {
  66.     $w.$item config -bg $arg
  67.     }
  68. }
  69.  
  70. proc tixDlb::config-font {w arg} {
  71.     upvar #0 $w data
  72.  
  73.     foreach item $data(items) {
  74.     $w.$item config -font $arg
  75.     }
  76. }
  77.  
  78. proc tixDlb::config-foreground {w arg} {
  79.     upvar #0 $w data
  80.  
  81.     foreach item $data(items) {
  82.     $w.$item config -fg $arg
  83.     }
  84. }
  85.  
  86. proc tixDlb::config-state {w arg} {
  87.     upvar #0 $w data
  88.  
  89.     if {$arg == $data(-state)} {
  90.     return
  91.     } else {
  92.     foreach item $data(items) {
  93.         $w.$item config -state $arg
  94.     }
  95.     }
  96. }
  97.  
  98. #----------------------------------------------------------------------
  99. # Methods
  100. #                     WIDGET COMMANDS
  101. #----------------------------------------------------------------------
  102. proc tixDlb::add {w name args} {
  103.     upvar #0 $w data
  104.  
  105.     eval button $w.$name \
  106.     -fg $data(-foreground) \
  107.     -bg $data(-buttonbg) \
  108.     -font $data(-font) \
  109.     $args
  110.     pack $w.$name -side left -expand yes -padx 10 -pady 15 -fill y
  111.     lappend data(items) $name
  112.  
  113.     return $w.$name
  114. }
  115.  
  116. proc tixDlb::button {w name args} {
  117.     upvar #0 $w data
  118.  
  119.     if {$args != {}} {
  120.     return [eval $w.$name $args]
  121.     } else {
  122.     return $w.$name
  123.     }
  124. }
  125.  
  126. #call the command
  127. proc tixDlb::invoke {w name} {
  128.     upvar #0 $w data
  129.  
  130.     $w.$name invoke
  131. }
  132.